home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_10_12
/
1012040a
< prev
next >
Wrap
Text File
|
1992-10-11
|
2KB
|
66 lines
//-------------------------------------------------
// Driver.m - Driver prog to demo the Person class.
//-------------------------------------------------
#import <stdio.h>
#import <objc/List.h>
#import "Person.h"
//-------------------------------------------------
main()
{
int i;
id personList;
id newPerson;
NXTypedStream *stream;
id newList;
personList = [[List alloc] init];
// Make a person and put them in the list.
// (using discrete method calls).
newPerson = [Person alloc];
[newPerson initWithName:"Alan"
age:21];
[personList addObject:newPerson];
// Make another person and put them in the list.
// (using nested method calls).
[personList addObject:
[[Person alloc] initWithName:"Bill"
age:22]];
// Tell the objects in the list to -printInfo
printf( "Original List:\n" );
[personList makeObjectsPerform:@selector(printInfo)];
// Archive the list and its contents to a file.
stream = NXOpenTypedStreamForFile( "listArchive",
NX_WRITEONLY );
printf( "Archiving List. \n" );
NXWriteRootObject( stream, personList );
NXCloseTypedStream( stream );
// Dispose of the list contents and then the list.
[personList freeObjects];
[personList free];
// Unarchive the list and its contents from the file.
stream = NXOpenTypedStreamForFile( "listArchive",
NX_READONLY );
printf( "Unarchiving List. \n" );
newList = NXReadObject( stream );
NXCloseTypedStream( stream );
// Tell the objects in the new list to -printInfo
printf( "New List:\n" );
[newList makeObjectsPerform:@selector(printInfo)];
// Dispose of the new list and its contents.
[newList free];
}
//-------------------------------------------------